package com.inlycat.mapper;

import java.util.List;

import com.inlycat.entity.Account;

/**
 * @author jarvan4dev@163.com
 * @since 2015年8月13日下午12:32:44
 * @category 账户的mapper接口
 **/
public interface AccountMapper {
	
	/**
	 * 新增账户
	 * @param account
	 * @return 新增账户是否
	 */
	boolean insert(Account account) throws RuntimeException;
	
	/**
	 * 更新账户余额
	 * @param account
	 * @return 是否更新成功
	 */
	boolean updateSelectiveByUserId(Account account) throws RuntimeException;
	
	/**
	 * 根据用户ID查询用户的账户信息
	 * @param userId
	 * @return 用户的账户信息
	 */
	Account selectByUserId(Long userId) throws RuntimeException;
	
	/**
	 * 根据用户Id查询账户信息和流水账
	 * @param userId
	 * @return
	 */
	Account selectDetailByUserId(Long userId) throws RuntimeException;
	
	/**
	 * 根据Account类不为null的字段进行查询,条件全部使用=号and条件
	 * @param account
	 * @return 某一页
	 */
	List<Account> select(Account account) throws RuntimeException;
}
